home *** CD-ROM | disk | FTP | other *** search
- /*
- DIALOG.CPP - Generic DialogBox-Class
- (C) 1991 by Joachim Kainz 'On a mission from Bhudda'
- */
- #include "dialog.hpp"
- #include "dlgtemp.hpp"
-
- FARPROC2 DIALOG::lpFnOOPWndProc = NULL;
-
- EXPORT DIALOG::DIALOG (
- LPSTR lpDlg,
- HWND hWndParent,
- HICON hIcon,
- FARPROC lpfnProc,
- DWORD dwParam
- ): WINDOW (
- NULL,
- LoadCursor (NULL, IDC_ARROW),
- hIcon,
- COLOR_WINDOW+1,
- 0,
- DLGWINDOWEXTRA,
- "jfk",
- DefDlgProc
- )
- {
- DLGTEMPLATE dlg (lpDlg);
-
- dlg.SetClass ("jfk");
-
- PSTR pDlg = (PSTR) dlg;
-
- if (!pDlg)
- return;
-
- hWnd = CreateDialogIndirectParam (
- GetInstance (),
- (LPSTR) pDlg,
- hWndParent,
- lpfnProc,
- dwParam
- );
-
- LocalFree ((HANDLE) pDlg);
-
- if (!hWnd)
- return;
-
- SetWindowLong (GetWindowHandle (), DLGWINDOWEXTRA, (long) this);
-
- lpDefWndProc =
- (FARPROC2) SetWindowLong (
- GetWindowHandle (),
- GWL_WNDPROC,
- (long) GetOOPWndProc ()
- );
-
- SendMessage (self, WM_INITDIALOG, NULL, dwParam);
-
- wResult = NULL;
- }
-
- FARPROC2 DIALOG::GetOOPWndProc () const
- {
- if (!lpFnOOPWndProc)
- lpFnOOPWndProc = (FARPROC2) MakeProcInstance (
- (FARPROC) DefOOPDlgProc,
- GetInstance ()
- );
-
- return lpFnOOPWndProc;
- }
-